package com.zjcode.cdcer.pojo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjcode.cdcer.model.CerPersonalInfo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * cer_systeminit_import_info
 *
 * @author
 */
@Data
@ColumnWidth(30)
public class CerSysteminitImportInfo implements Serializable {

    @ExcelIgnore
    @ExcelProperty
    private String id;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String name;

    /**
     * 性别
     */
    @ExcelProperty(value = "性别")
    private String sex;

    /**
     * 年龄
     */
    @ExcelProperty(value = "年龄")
    private String age;


    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号")
    private String sfz;

    /**
     * 地址
     */
    @ExcelProperty(value = "地址")
    private String addr;

    /**
     * 联系电话
     */
    @ExcelProperty(value = "联系电话")
    private String phone;


    /**
     * 门诊号
     */
    @ExcelProperty(value = "门诊号")
    private String mzh;

    /**
     * 住院号
     */
    @ExcelProperty(value = "住院号")
    private String zyh;

    /**
     * 内镜诊疗日期
     */
    @ExcelProperty(value = "内镜诊疗日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private String njzlTime;

    /**
     * 对象来源
     */
    @ExcelProperty(value = "对象来源")
    private String zldxLy;

    /**
     * 内镜号
     */
    @ExcelProperty(value = "内镜号")
    private String njNum;

    /**
     * 是否无痛
     */
    @ExcelProperty(value = "是否无痛")
    private String ache;

    /**
     * 染色类别
     */
    @ExcelProperty(value = "染色类别")
    private String dye;

    /**
     * 图像数量
     */
    @ExcelProperty(value = "图像数量")
    private String picNums;

    /**
     * 是否活检
     */
    @ExcelProperty(value = "是否活检")
    private String isHj;

    /**
     * Hp检测结果
     */
    @ExcelProperty(value = "Hp检测结果")
    private String hp;

    /**
     * Hp检测方法
     */
    @ExcelProperty(value = "Hp检测方法")
    private String hpjcjg;

    /**
     * 内镜诊断
     */
    @ExcelProperty(value = "内镜诊断")
    private String njzd;

    /**
     * 内镜诊断医师
     */
    @ExcelProperty(value = "内镜诊断医师")
    private String njStaff;

    /**
     * 内镜审核医师
     */
    @ExcelProperty(value = "内镜审核医师")
    private String verifyStaff;

    /**
     * 病理号
     */
    @ExcelProperty(value = "病理号")
    private String blNum;

    /**
     * 病理诊断
     */
    @ExcelProperty(value = "病理诊断")
    private String blzd;

    /**
     * 食管病理诊断代码
     */
    @ExcelProperty(value = "食管病理诊断代码")
    private String sgblCode;

    /**
     * 贲门病理诊断代码
     */
    @ExcelProperty(value = "贲门病理诊断代码")
    private String bmblCode;

    /**
     * 胃病理诊断代码
     */
    @ExcelProperty(value = "胃病理诊断代码")
    private String wblCode;

    /**
     * 十二指肠病理诊断代码
     */
    @ExcelProperty(value = "十二指肠病理诊断代码")
    private String sezcCode;

    /**
     * 病理诊断医师
     */
    @ExcelProperty(value = "病理诊断医师")
    private String blzdStaff;

    /**
     * 病理审核医师
     */
    @ExcelProperty(value = "病理审核医师")
    private String blshStaff;

    /**
     * 病理报告日期
     */
    @ExcelProperty(value = "性别")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private String blbgTime;

    /**
     * 是否发布正式库0未发布1已经发布
     */
    @ExcelIgnore
    private Integer isPublish;

    /**
     * 是否有错误0未有错误1有错误
     */
    @ExcelIgnore
    private Integer isHaveError;


    /**
     * 错误信息
     */
    @ExcelIgnore
    private String errorMessage;


    /**
     * 数据上报者
     */
    @ExcelIgnore
    private String createBy;


    /**
     * 是否删除0未删除1已经删除
     */
    @ExcelIgnore
    private Integer deleted;


    /**
     * 版本号
     */
    @ExcelIgnore
    private Integer version;


    /**
     * 数据插入时间
     */
    @ExcelIgnore
    private Date insertDatetime;


    /**
     * 最后更新时间
     */
    @ExcelIgnore
    private Date lastUpdateDatetime;


    /**
     * 通用备注
     */
    @ExcelIgnore
    private String remarks;

    /**
     * 市级审核是否通过0未通过1已通过
     */
    @ExcelIgnore
    private Integer l1AuditResult;


    /**
     * 市级审核意见
     */
    @ExcelIgnore
    private String l1AuditMessage;


    /**
     * 市级审核人
     */

    @ExcelIgnore
    private String l1AuditBy;


    /**
     * 市级审核时间
     */
    @ExcelIgnore
    private Date l1AuditDatetime;


    /**
     * 省级审核是否通过0未通过1已通过
     */
    @ExcelIgnore
    private Integer l2AuditResult;


    /**
     * 省级审核意见
     */
    @ExcelIgnore
    private String l2AuditMessage;


    /**
     * 省级审核人
     */
    @ExcelIgnore
    private String l2AuditBy;


    /**
     * 省级审核时间
     */
    @ExcelIgnore
    private Date l2AuditDatetime;


    /**
     * 扩展字段1
     */
    @ExcelIgnore
    private String extFlag;


    /**
     * 扩展字段2
     */
    @ExcelIgnore
    private String extFlag2;

    /**
     * 最高诊断代码
     */
    @ExcelIgnore
    private String maxCode;

    //报告单存放地址
    @ExcelIgnore
    private String reportFilePath;
    //报告单url访问地址
    @ExcelIgnore
    private String reportFileUrl;
    //病理报告单存放地址
    @ExcelIgnore
    private String blReportFilePath;
    //病理报告单url访问地址
    @ExcelIgnore
    private String blReportFileUrl;
    //显示ID
    @ExcelIgnore
    private String screeningId;
    @ExcelIgnore
    private String nationCode;
    @ExcelIgnore
    private String nationName;

    //是否超时上报0未超时 1超时
    @ExcelIgnore
    private int isUplpadTimeout;
    //是否已同步0未同步 1已同步
    @ExcelIgnore
    private int isUploaded;
    //诊疗方式
    @ExcelIgnore
    private String zlFs;

    /*省编号*/
    @ExcelIgnore
    private String provinceId;
    /*省名称*/
    @ExcelIgnore
    private String provinceName;
    /*市编号*/
    @ExcelIgnore
    private String cityId;
    /*市名称*/
    @ExcelIgnore
    private String cityName;
    /*区编号*/
    @ExcelIgnore
    private String districtId;
    /*区名称*/
    @ExcelIgnore
    private String districtName;
    /*机构编号*/
    @ExcelIgnore
    private String institutionId;
    /*机构名称*/
    @ExcelIgnore
    private String institutionName;

    /**
     * 县编号
     */
    @ExcelIgnore
    private String countyId;
    /**
     * 县名称
     */
    @ExcelIgnore
    private String countyName;
    /**
     * 村编号
     */
    @ExcelIgnore
    private String villageId;
    /**
     * 村名称
     */
    @ExcelIgnore
    private String villageName;
    /**
     * 基础人员表id
     */
    @ExcelIgnore
    private String personId;
    /**
     * 同意书url
     */
    @ExcelIgnore
    private String writtenConsentUrl;

    /**
     * 申请人自我签订日期
     */
    @ExcelIgnore
    private Date selfSignDate;
    /**
     * 证明人证明日期
     */
    @ExcelIgnore
    private Date proofDate;
    /**
     * 证明人姓名
     */

    @ExcelIgnore
    private String proofName;
    /**
     * 筛查类型
     */
    @ExcelIgnore
    private Integer screeningType;


    /**
     * 风险因素自测表id
     */
    @ExcelIgnore
    private String riskReportId;
    /**
     * 同意书文件保存地址
     */
    @ExcelIgnore
    private String  writtenConsentFilePath;
    @ExcelIgnore
    private String birthday;
    @ExcelIgnore
    private String qfjg;
    @ExcelIgnore
    private String yxStartDate;
    @ExcelIgnore
    private String yxEndDate;

    //地域集合
    private String regionCode;
    private static final long serialVersionUID = 1L;

    // 判断导入初始正式库Excel中数据，临时表是否存在【1存在 2不存在】
    @ExcelIgnore
    private int exist;

    @ExcelIgnore
    private CerPersonalInfo cerPersonalInfo;
    private String countrySource;
}
